d i s t r o s 	 d i s t r o s 
 
 M a n u a l   	 Sqbff
 
 S t a n d a r d   l i b r a r y   	 jn00000
 
 I n d e x   	 000000
 
 S e a r c h :     	 i"}
 
 G r o u p   b y :     	 R^:   
 
 S e c t i o n   	 00000
 
 T y p e   	 W
 
 I m p o r t s   	 00000
 
 T y p e s   	 W
 
 D i s t r i b u t i o n   	 D i s t r i b u t i o n   
 
 C o n s t s   	 [pe
 
 L a c k s D e v P a c k a g e s   	 L a c k s D e v P a c k a g e s   
 
 P r o c s   	 000000
 
 f o r e i g n C m d   	 f o r e i g n C m d   
 
 f o r e i g n D e p I n s t a l l C m d   	 f o r e i g n D e p I n s t a l l C m d   
 
 f o r e i g n D e p   	 f o r e i g n D e p   
 
 e c h o F o r e i g n D e p s   	 e c h o F o r e i g n D e p s   
 
 T e m p l a t e s   	 000000
 
 d e t e c t O s   	 d e t e c t O s   
 
 T h i s   m o d u l e   i m p l e m e n t s   t h e   b a s i c s   f o r   L i n u x   d i s t r i b u t i o n   ( " d i s t r o " )   d e t e c t i o n   a n d   t h e   O S ' s   n a t i v e   p a c k a g e   m a n a g e r . 	 S0n000000o0  L i n u x   00000000000  ( " 00000" )   n0iQ0J00s0  O S   00000n00000000000g0OF0WvbSn0[ňg0Y00
 
 I t s   p r i m a r y   p u r p o s e   i s   t o   p r o d u c e   o u t p u t   f o r   N i m b l e   p a c k a g e s   l i k e : 	 ;Nj0(uo0  N i m b l e   00000QRj0i00ubY00S0h0g0Y00
 
 T o   c o m p l e t e   t h e   i n s t a l l a t i o n ,   r u n : 	 0000000[NY00k0o00Nn000000[LW0~0Y00
 
 s u d o   a p t - g e t   l i b b l a s - d e v 	 s u d o   a p t - g e t   l i b b l a s - d e v 
 
 s u d o   a p t - g e t   l i b v o o d o o 	 s u d o   a p t - g e t   l i b v o o d o o 
 
 T h e   a b o v e   o u t p u t   c o u l d   b e   t h e   r e s u l t   o f   a   c o d e   s n i p p e t   l i k e : 	 
Nn0QRP}gk00000000000o00
 
 i f   d e t e c t O s ( U b u n t u ) :       f o r e i g n D e p   " l b i b l a s - d e v "       f o r e i g n D e p   " l i b v o o d o o " I m p o r t s   s t r u t i l s ,   o s p r o c ,   o s   	 i f   d e t e c t O s ( U b u n t u ) :       f o r e i g n D e p   " l b i b l a s - d e v "       f o r e i g n D e p   " l i b v o o d o o " I m p o r t s   s t r u t i l s ,   o s p r o c ,   o s   
 
 T y p e s 	 W
 
 D i s t r i b u t i o n   { . . . } { . p u r e . }   =   e n u m 	 D i s t r i b u t i o n   { . . . } { . p u r e . }   =   e n u m 
 
 W i n d o w s ,                                         	 W i n d o w s ,                                     
 
 # #   s o m e   v e r s i o n   o f   W i n d o w s 	 # #   W i n d o w s   n000000
 
 P o s i x ,                                             	 P o s i x ,   
 
 # #   s o m e   P o s i x   s y s t e m 	 # #   P O S I X   0000
 
 M a c O S X ,                                           	 M a c O S X ,                                           
 
 # #   s o m e   v e r s i o n   o f   O S X 	 # #   O S X   n000000
 
 L i n u x ,                                             	 L i n u x ,                                             
 
 # #   s o m e   v e r s i o n   o f   L i n u x 	 # #   L i n u x   n000000
 
 U b u n t u ,   D e b i a n ,   G e n t o o ,   F e d o r a ,   R e d H a t ,   O p e n S U S E ,   M a n j a r o ,   E l e m e n t a r y ,   Z o r i n ,   C e n t O S ,       D e e p i n ,   A r c h L i n u x ,   A n t e r g o s ,   P C L i n u x O S ,   M a g e i a ,   L X L E ,   S o l u s ,   L i t e ,   S l a c k w a r e ,       A n d r o i d x 8 6 ,   P u p p y ,   P e p p e r m i n t ,   T a i l s ,   A n t i X ,   K a l i ,   S p a r k y L i n u x ,   A p r i c i t y ,   B l a c k L a b ,       B o d h i ,   T r u e O S ,   A r c h B a n g ,   K a O S ,   W a t t O S ,   K o r o r a ,   S i m p l i c i t y ,   R e m i x O S ,   O p e n M a n d r i v a ,       N e t r u n n e r ,   A l p i n e ,   B l a c k A r c h ,   U l t i m a t e ,   G e c k o ,   P a r r o t ,   K N O P P I X ,   G h o s t B S D ,   S a b a y o n ,       S a l i x ,   Q 4 O S ,   C l e a r O S ,   C o n t a i n e r ,   R O S A ,   Z e n w a l k ,   P a r a b o l a ,   C h a l e t O S ,   B a c k B o x ,   M X L i n u x ,       V e c t o r ,   M a u i ,   Q u b e s ,   R a n c h e r O S ,   O r a c l e ,   T i n y C o r e ,   R o b o l i n u x ,   T r i s q u e l ,   V o y a g e r ,       C l o n e z i l l a ,   S t e a m O S ,   A b s o l u t e ,   N i x O S ,   	 U b u n t u ,   D e b i a n ,   G e n t o o ,   F e d o r a ,   R e d H a t ,   O p e n S U S E ,   M a n j a r o ,   E l e m e n t a r y ,   Z o r i n ,   C e n t O S ,       D e e p i n ,   A r c h L i n u x ,   A n t e r g o s ,   P C L i n u x O S ,   M a g e i a ,   L X L E ,   S o l u s ,   L i t e ,   S l a c k w a r e ,       A n d r o i d x 8 6 ,   P u p p y ,   P e p p e r m i n t ,   T a i l s ,   A n t i X ,   K a l i ,   S p a r k y L i n u x ,   A p r i c i t y ,   B l a c k L a b ,       B o d h i ,   T r u e O S ,   A r c h B a n g ,   K a O S ,   W a t t O S ,   K o r o r a ,   S i m p l i c i t y ,   R e m i x O S ,   O p e n M a n d r i v a ,       N e t r u n n e r ,   A l p i n e ,   B l a c k A r c h ,   U l t i m a t e ,   G e c k o ,   P a r r o t ,   K N O P P I X ,   G h o s t B S D ,   S a b a y o n ,       S a l i x ,   Q 4 O S ,   C l e a r O S ,   C o n t a i n e r ,   R O S A ,   Z e n w a l k ,   P a r a b o l a ,   C h a l e t O S ,   B a c k B o x ,   M X L i n u x ,       V e c t o r ,   M a u i ,   Q u b e s ,   R a n c h e r O S ,   O r a c l e ,   T i n y C o r e ,   R o b o l i n u x ,   T r i s q u e l ,   V o y a g e r ,       C l o n e z i l l a ,   S t e a m O S ,   A b s o l u t e ,   N i x O S ,   
 
 # #   N i x O S   o r   a   N i x   b u i l d   e n v i r o n m e n t 	 # #   U n i x   O S   ~0_0o0  U n i x   000tX
 
 A U S T R U M I ,   A r y a ,   P o r t e u s ,   A V L i n u x ,   E l i v e ,   B l u e s t a r ,   S l i T a z ,   S o l a r i s ,   C h a k r a ,   W i f i s l a x ,       S c i e n t i f i c ,   E x T i X ,   R o c k s t o r ,   G o b o L i n u x ,   B S D ,   F r e e B S D ,   O p e n B S D ,   D r a g o n F l y B S D ,   H a i k u 	 A U S T R U M I ,   A r y a ,   P o r t e u s ,   A V L i n u x ,   E l i v e ,   B l u e s t a r ,   S l i T a z ,   S o l a r i s ,   C h a k r a ,   W i f i s l a x ,       S c i e n t i f i c ,   E x T i X ,   R o c k s t o r ,   G o b o L i n u x ,   B S D ,   F r e e B S D ,   O p e n B S D ,   D r a g o n F l y B S D ,   H a i k u 
 
 t h e   l i s t   o f   k n o w n   d i s t r i b u t i o n s       	 
Nn0000o000000000000h0W0f00w00f0D0~0Y00
 
 S o u r c e   E d i t   	 000  }Ɩ
 
 C o n s t s 	 [pe
 
 L a c k s D e v P a c k a g e s   =   { D i s t r i b u t i o n . G e n t o o ,   D i s t r i b u t i o n . S l a c k w a r e ,                                       D i s t r i b u t i o n . A r c h L i n u x }   	 L a c k s D e v P a c k a g e s   =   { D i s t r i b u t i o n . G e n t o o ,   D i s t r i b u t i o n . S l a c k w a r e ,                                       D i s t r i b u t i o n . A r c h L i n u x } 
 
 S o u r c e   E d i t   	 000  }Ɩ
 
 P r o c s 	 000000
 
 p r o c   f o r e i g n C m d ( c m d :   s t r i n g ;   r e q u i r e s S u d o   =   f a l s e )   { . . . } { . r a i s e s :   [ ] ,   t a g s :   [ ] . } 	 p r o c   f o r e i g n C m d ( c m d :   s t r i n g ;   r e q u i r e s S u d o   =   f a l s e )   { . . . } { . r a i s e s :   [ ] ,   t a g s :   [ ] . } 
 
 R e g i s t e r s   a   f o r e i g n   c o m m a n d   t o   t h e   i n t e r n   l i s t   o f   c o m m a n d s   t h a t   c a n   b e   q u e r i e d   l a t e r . 	 _{0i0gqOSj00000n000000000x0Y萳00000{v2W0~0Y00
 
 S o u r c e   E d i t   	 000  }Ɩ
 
 p r o c   f o r e i g n D e p I n s t a l l C m d ( f o r e i g n P a c k a g e N a m e :   s t r i n g ) :   ( s t r i n g ,   b o o l )   { . . . } { . r a i s e s :   [ ] ,           t a g s :   [ ] . } 	 p r o c   f o r e i g n D e p I n s t a l l C m d ( f o r e i g n P a c k a g e N a m e :   s t r i n g ) :   ( s t r i n g ,   b o o l )   { . . . } { . r a i s e s :   [ ] ,           t a g s :   [ ] . } 
 
 R e t u r n s   t h e   d i s t r o ' s   n a t i v e   c o m m a n d   l i n e   t o   i n s t a l l   ' f o r e i g n P a c k a g e N a m e '   a n d   w h e t h e r   i t   r e q u i r e s   r o o t / a d m i n   r i g h t s . 	 ' f o r e i g n P a c k a g e N a m e '   n0000000g0OF000000000000n00000000000000J00s0  r o o t / a d m i n   )jPL0_g0B00K0n0	g!q0ԏW0~0Y00
 
 S o u r c e   E d i t 	 000  }Ɩ
 
 p r o c   f o r e i g n D e p ( f o r e i g n P a c k a g e N a m e :   s t r i n g )   { . . . } { . r a i s e s :   [ ] ,   t a g s :   [ ] . } 	 p r o c   f o r e i g n D e p ( f o r e i g n P a c k a g e N a m e :   s t r i n g )   { . . . } { . r a i s e s :   [ ] ,   t a g s :   [ ] . } 
 
 R e g i s t e r s   ' f o r e i g n P a c k a g e N a m e '   t o   t h e   i n t e r n a l   l i s t   o f   f o r e i g n   d e p s . 	 Y00000n0OX['`g0OF0Q000k0  ' f o r e i g n P a c k a g e N a m e '   0{v2W0~0Y00
 
 I t   i s   y o u r   j o b   t o   e n s u r e   t h e   p a c k a g e   n a m e       	 00000
Tn0u[o0zvn0Rg0Y00
 
 S o u r c e   E d i t   	 000  }Ɩ
 
 p r o c   e c h o F o r e i g n D e p s ( )   { . . . } { . r a i s e s :   [ ] ,   t a g s :   [ ] . } 	 p r o c   e c h o F o r e i g n D e p s ( )   { . . . } { . r a i s e s :   [ ] ,   t a g s :   [ ] . } 
 
 W r i t e s   t h e   l i s t   o f   r e g i s t e r e d   f o r e i g n   d e p s   t o   s t d o u t . 	 {v2U00_0Y00000n0OX['`0000jnQRk0fM0QW0~0Y00
 
 S o u r c e   E d i t   	 000  }Ɩ
 
 T e m p l a t e s 	 000000
 
 t e m p l a t e   d e t e c t O s ( d :   u n t y p e d ) :   b o o l 	 t e m p l a t e   d e t e c t O s ( d :   u n t y p e d ) :   b o o l 
 
 D i s t r o / O S   d e t e c t i o n . 	 00000000000  /     O S   0iQW0~0Y00
 
 F o r   c o n v e n i e n c e   t h e   r e q u i r e d   D i s t r i b u t i o n .   q u a l i f i e r   i s   a d d e d   t o   t h e   e n u m   v a l u e . 	 O[
N0  D i s t r i b u t i o n   WL0_k0j00~0Y00OP[o0RcWn0$Pk0RU00~0Y00
 
 S o u r c e   E d i t   	 000  }Ɩ
 
 M a d e   w i t h   N i m . 	 N i m   g0\ObW0~0W0_00  
 
 G e n e r a t e d :   2 0 2 0 - 0 1 - 2 3   1 7 : 2 8 : 2 3   U T C   	 ubeBf:   2 0 2 0 t^0 1 g2 3 e  HSMR1 7 Bf2 8 R2 3 y  ( U T C ) 
 
 